1. Field of the Invention
This invention relates generally to computer controlled printing of documents having text and graphical components and more particularly to a method and system for inclusion of external files, represented in a structured page description language, into a data stream intended to be printed or displayed. It is particularly useful for the automatic translation between different data and printing formats which are suitable for use with a variety of presentation devices and/or for the transmission of data to other devices in a communication system. In this context the presentation of a document on a page involves the printing on a fixed medium such as paper, transparency or the like, a page, or presenting on a visual display a page or transmitting to another device the document in a form to be presented or stored. The present application is related to commonly owned co-pending U.S. patent application Ser. No. 07/778,578 filed on Oct. 17, 1991, the disclosure of which is incorporated by reference herein. The present application is also related to commonly owned concurrently filed U.S. patent application Ser. No. 07/876,601 entitled "A Method and Apparatus to Manage Picture and Pageset for Document Processing" filed on Apr. 30, 1992, also incorporated by reference herein.
2. Discussion of the Background
The development of laser printers in the early 1970s provided an opportunity for high quality low cost printing of documents which contain not only character text but also general graphical material. The primary method of controlling commands by the computer to the printer employed the so called "escape sequence" commands similar the type commands used in the DIABLO.RTM. command sequence. These types of commands were distinguished from typical character data by preceding each command with a special byte, generally an escape character (ASCII 27). This methodology worked in an acceptable manner with daisy wheel or dot matrix printers but is not well suited for printing documents that combine both text and graphical materials in that no provision is made for the large amount of data that a graphic might need. It also does not allow for the inclusion of external files into a data stream in an expeditious manner.
As a response to the limitations inherent in the case of the escape sequence commands, different types of "page description language" (PDL) were developed generally to control laser printers or other types of page printers. Backward compatibility was provided to most of these laser printers in that they were generally able to accept escape sequence commands. Examples of page description language are the PostScript.RTM. system from Adobe Systems Incorporated and InterPress.RTM. from Xerox.RTM. Corporation. Several other proprietary PDL's are also known.
The prior art page description languages provided various improvements to the standard escape sequences known previously, such as providing tools and syntax for resource declarations, context declarations, dictionaries, the use of memory stacks or the like. These languages also in some cases allowed for dynamic changes in the printers state, such as the ability to add fonts or to add graphical images to the resources that might be available to the printer. Some of these features are documented in such generally available reference works as Adobe System Incorporated's "PostScript Language Reference Manual" and the "PostScript Language Program Design", both by Addison-Wesley Publishing Company. Other PDL's are likewise described in various technical and reference books such as "InterPress, The Source Book" by Harrington et. al. (Simon and Schuster, Inc., 1988)
A standardized page description language has been proposed and is in the process of being developed as an international standard. The proposal, to which the present inventor is a contributor, at this stage is in draft form before a section of the ISO. The draft is known as ISO/IEC DIS 10180 and is labeled "Information Processing- Text Communication- Standard Page Description Language". The current draft is dated 1991.
Many of the prior art types of page description languages suffer from various flaws, including the fact that they are generally limited to an individual page and are do not generally employ a fully structured language. For example, one of the shortcomings of the PostScript.RTM. language is that the page description for a particular document can contain a new definition such as a resource definition (for example an additional font) or a new dictionary definition which can be used anywhere in the document. As a result of this, the entire content of the document must be processed in order to determine whether a particular printer has the resources that are necessary to print it. Alternatively, if this "preprocessing" is not performed it is possible that the printing of a document may fail at any point during the printing process, even at the very end, due to the inability of the printer to comply with commands of the document page description.
Additional problems are associated with the prior art systems that employ PostScript.RTM. in that in order to print a given page of a document it is generally necessary to read at the beginning of each page the entire PDL description of all the preceding pages of the document in order to determine the state of the document page setup parameters (i.e., resource declarations, dictionary definitions or the like). In other words, a print control or print drive program must read the entire PDL description of a document to take into account the effect of every page setup command between the beginning of the document and the specified page. While this page setup scanning process is relatively straightforward it does require a significant amount of processor time which can be better used by the printer.
Additionally there is no syntax or semantics defined in the PostScript.RTM. language to handle the inclusion of external entities, nor is there any easy method to add this feature.
One of the problems with the well known InterPress.RTM. system from Xerox.RTM. is that its structure does not allow for both "clear text" or binary data streams to be used interchangeably.
The ability to add external entities to a document data stream allows for a "global" type of change to be provided in documents whereby a library of "style" standardizations can be easily created so that standardized or set styles can be defined for work groups, departments or enterprise-wide operations.